Security mechanism for an electronic device

ABSTRACT

According to some aspects, disclosed methods and systems may include determining, by an electronic device, a value associated with a first parameter configured to dynamically change, and displaying, via a user interface, an object corresponding to the value associated with the first parameter. The methods and systems may also include receiving, via the user interface, an input intended to unlock the electronic device, unlocking the electronic device if the received input interacts with the object in a predefined manner, and maintaining the electronic device in a locked state if the received input does not interact with the object in the predefined manner.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to, and is a continuation of,U.S. Pat. No. 9,613,203, filed Mar. 2, 2015, and entitled “SecurityMechanism for an Electronic Device,” which is hereby incorporated byreference as to its entirety.

BACKGROUND

Users of electronic devices have long sought a way to avoid cumbersomemethods of locking and protecting their electronic devices. There is anever-present need to secure an electronic device, while taking intoconsideration the convenience of a user.

SUMMARY

The following summary is for illustrative purposes only, and is notintended to limit or constrain the detailed description.

One or more aspects of the disclosure provide for a method for unlockinga locked electronic device that may include determining, by theelectronic device, a value associated with a first parameter configuredto dynamically change; and displaying, via a user-interface, an objectcorresponding to the value associated with the first parameter. Themethod may also include receiving, via the user-interface, an inputintended to unlock the electronic device; unlocking the electronicdevice if the received input interacts with the object in a predefinedmanner; and maintaining the electronic device in a locked state if thereceived input does not interact with the object in the predefinedmanner.

One or more aspects of the disclosure also provide for a method forunlocking a locked electronic device that may include identifying, bythe electronic device, a numerical value displayed on a displayassociated with the electronic device; generating, based on thenumerical value, an input portion of a user interface configured in alocked state; and in response to receiving a gesture input configured tounlock the electronic device, transitioning the user interface from thelocked state to an unlocked state.

One or more aspects of the disclosure also provide for a methodunlocking a locked electronic device that may include receiving, by theelectronic device, a first value associated with a first parameter and asecond value associated with a second parameter; and determining a thirdvalue based on an association between the first parameter and the secondparameter. The method may also include generating a user-interface onthe electronic device based on the determined third value and apredetermined input method; unlocking the electronic device in responseto the user-interface receiving a gesture input corresponding to thedetermined value and the predetermined input method; and maintaining theelectronic device in a locked state in response to the user-interfacenot receiving a gesture input corresponding the determined value and thepredetermined input method.

The summary here is not an exhaustive listing of the novel featuresdescribed herein, and is not limiting of the claims. These and otherfeatures are described in greater detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentdisclosure will become better understood with regard to the followingdescription, claims, and drawings. The present disclosure is illustratedby way of example, and not limited by, the accompanying figures in whichlike numerals indicate similar elements.

FIG. 1 illustrates an example communication network on which variousfeatures described herein may be used.

FIG. 2 illustrates an example computing device that can be used toimplement any of the methods, servers, entities, and computing devicesdescribed herein.

FIG. 3 illustrates an example computing device system in accordance withaspects of the present disclosure.

FIG. 4 illustrates an example computing device system in accordance withaspects of the present disclosure.

FIG. 5 illustrates an example chart of values and a computing devicesystem in accordance with aspects of the present disclosure.

FIGS. 6A and 6B illustrate examples of a computing device system inaccordance with aspects of the present disclosure.

FIGS. 7A and 7B illustrate examples of a computing device system inaccordance with aspects of the present disclosure.

FIG. 8 illustrates an example computing device system in accordance withaspects of the present disclosure.

FIG. 9 illustrates an example computing device system in accordance withaspects of the present disclosure.

FIG. 10 illustrates an example chart of values and a computing devicesystem in accordance with aspects of the present disclosure.

FIG. 11 illustrates an example flow diagram of a method in accordancewith aspects of the present disclosure.

DETAILED DESCRIPTION

As will be appreciated by one of skill in the art upon reading thefollowing disclosure, various aspects described herein may be embodiedas a method, a computer system, or a computer program product.Accordingly, those aspects may take the form of an entirely hardwareembodiment, an entirely software embodiment or an embodiment combiningsoftware and hardware aspects. Furthermore, such aspects may take theform of a computer program product stored by one or morecomputer-readable storage media having computer-readable program code,or instructions, embodied in or on the storage media. Any suitablecomputer readable storage media may be utilized, including hard disks,CD-ROMs, optical storage devices, removable storage media, solid statememory, RAM, magnetic storage devices, and/or any combination thereof.In addition, the functionality may be embodied in whole or in part infirmware or hardware equivalents, such as integrated circuits, fieldprogrammable gate arrays (FPGAs), and the like. Various signalsrepresenting data or events as described herein may be transferredbetween a source and a destination in the form of electromagnetic wavestraveling through signal-conducting media such as metal wires, opticalfibers, and/or wireless transmission media (e.g., air and/or space).

FIG. 1 illustrates an example communication network 100 on which many ofthe various features described herein may be implemented. The network100 may be any type of information distribution network, such assatellite, telephone, cellular, wireless, etc. One example may be anoptical fiber network, a coaxial cable network, or a hybrid fiber/coaxdistribution network. Such networks 100 use a series of interconnectedcommunication links 101 (e.g., coaxial cables, optical fibers, wireless,etc.) to connect multiple premises 102 (e.g., businesses, homes,consumer dwellings, etc.) to a local office or headend 103. The localoffice 103 may transmit downstream information signals onto the links101, and each premises 102 may have a receiver used to receive andprocess those signals.

There may be one or more links 101 originating from the local office103, and it may be split a number of times to distribute the signal tothe various premises 102 in the vicinity (which may be many miles) ofthe local office 103. The links 101 may include components notillustrated, such as splitters, filters, amplifiers, etc. to help conveythe signal clearly, but in general each split introduces a bit of signaldegradation. Portions of the links 101 may also be implemented withfiber-optic cable, while other portions may be implemented with coaxialcable, other lines, or wireless communication paths. By running fiberoptic cable along some portions, for example, signal degradation may besignificantly minimized, allowing a single the local office 103 to reacheven farther with its network of the links 101 than before.

The local office 103 may include an interface 104, such as a terminationsystem (TS). More specifically, the interface 104 may be a cable modemtermination system (CMTS), which may be a computing device configured tomanage communications between devices on the network of the links 101and backend devices such as the servers 105-107 (to be discussed furtherbelow). The interface 104 may be as specified in a standard, such as theData Over Cable Service Interface Specification (DOCSIS) standard,published by Cable Television Laboratories, Inc. (a.k.a. CableLabs), orit may be a similar or modified device instead. The interface 104 may beconfigured to place data on one or more downstream frequencies to bereceived by modems at the various premises 102, and to receive upstreamcommunications from those modems on one or more upstream frequencies.

The local office 103 may also include one or more network interfaces108, which can permit the local office 103 to communicate with variousother external networks 109. These networks 109 may include, forexample, networks of Internet devices, telephone networks, cellulartelephone networks, fiber optic networks, local wireless networks (e.g.,WiMAX), satellite networks, and any other desired network, and thenetwork interface 108 may include the corresponding circuitry needed tocommunicate on the external networks 109, and to other devices on thenetwork such as a cellular telephone network and its corresponding cellphones.

As noted above, the local office 103 may include a variety of servers105-107 that may be configured to perform various functions. Forexample, the local office 103 may include one or more push notificationservers 105. The push notification server 105 may generate pushnotifications to deliver data and/or commands to the various premises102 in the network (or more specifically, to the devices in the premises102 that are configured to detect such notifications).

The local office 103 may also include one or more content servers 106.The content server 106 may be one or more computing devices that areconfigured to provide content to users at their premises. This contentmay be, for example, advertisements (such as commercials), video ondemand movies, television programs, songs, text listings, etc. Thecontent server 106 may include software to validate user identities andentitlements, to locate and retrieve requested content, to encrypt thecontent, and to initiate delivery (e.g., streaming or downloading) ofthe content to the requesting user(s) and/or device(s). The contentserver 106 may also be configured to generate advertising decisions andrules, and transmit them to a requesting user or device.

The local office 103 may also include one or more application servers107. An application server 107 may be a computing device configured tooffer any desired service, and may run various languages and operatingsystems (e.g., servlets and JSP pages running on Tomcat/MySQL, OSX, BSD,Ubuntu, Redhat, HTML5, JavaScript, AJAX and COMET). For example, anapplication server may be responsible for collecting television programlistings information and generating a data download for electronicprogram guide listings. As another example, the application server oranother server may be responsible for monitoring user viewing habits andcollecting that information for use in selecting advertisements. Asanother example, the application server or another server may beresponsible for formatting and inserting advertisements in, for examplea video stream being transmitted to the premises 102. Yet in anotherexample, the application server or another application server may beresponsible for associating interactive components into and with contentand/or advertisements. In addition, the application server or otherserver may transmit information, such as weather-related information,information related to sporting events, financial-related information,and the like. Although shown separately, one of ordinary skill in theart will appreciate that the push server 105, the content server 106,and the application server 107 may be combined. Further, here the pushserver 105, the content server 106, and the application server 107 areshown generally, and it will be understood that they may each containmemory storing computer executable instructions to cause a processor toperform steps described herein and/or memory for storing data.

An example premises 102 a, such as a home, may include an interface 120.The interface 120 can include any communication circuitry needed toallow a device to communicate on one or more links 101 with otherdevices in the network. For example, the interface 120 may include amodem 110, which may include transmitters and receivers used tocommunicate on the links 101 and with the local office 103. The modem110 may be, for example, a coaxial cable modem (for coaxial cable lines101), a fiber interface node (for fiber optic lines 101), twisted-pairtelephone modem, cellular telephone transceiver, satellite transceiver,local Wi-Fi router or access point, or any other desired modem device.Also, although only one modem is shown in FIG. 1, a plurality of modemsoperating in parallel may be implemented within the interface 120.Further, the interface 120 may include a gateway interface device 111.The modem 110 may be connected to, or be a part of, the gatewayinterface device 111. The gateway interface device 111, such as agateway, may be a computing device that communicates with the modem(s)110 to allow one or more other devices in the premises 102 a, tocommunicate with the local office 103 and other devices beyond the localoffice 103. The gateway interface device 111 may be a set-top box,digital video recorder (DVR), computer server, or any other desiredcomputing device. The gateway interface device 111 may also include (notshown) local network interfaces to provide communication signals torequesting entities/devices in the premises 102 a, such as the displaydevices 112 (e.g., televisions), the additional set-top boxes or theDVRs 113, the personal computers 114, the laptop computers 115, thewireless devices 116 (e.g., wireless routers, wireless laptops,notebooks, tablets and netbooks, cordless phones (e.g., Digital EnhancedCordless Telephone—DECT phones), mobile phones, mobile televisions,personal digital assistants (PDA), etc.), the landline phones 117 (e.g.Voice over Internet Protocol—VoIP phones), and any other desireddevices. Examples of the local network interfaces include MultimediaOver Coax Alliance (MoCA) interfaces, Ethernet interfaces, universalserial bus (USB) interfaces, wireless interfaces (e.g., IEEE 802.11,IEEE 802.15), analog twisted pair interfaces, Bluetooth interfaces, andothers.

FIG. 2 illustrates general hardware elements that can be used toimplement any of the various computing devices discussed herein. Thecomputing device 200 may include one or more processors 201, which mayexecute instructions of a computer program to perform any of thefeatures described herein. The instructions may be stored in any type ofcomputer-readable medium or memory, to configure the operation of theprocessor 201. For example, instructions may be stored in a read-onlymemory (ROM) 202, a random access memory (RAM) 203, a removable media204, such as a Universal Serial Bus (USB) drive, compact disk (CD) ordigital versatile disk (DVD), floppy disk drive, or any other desiredstorage medium. Instructions may also be stored in an attached (orinternal) storage 205, such as a hard drive. The computing device 200may include one or more output devices, such as a display 206 (e.g., anexternal television), and may include one or more output devicecontrollers 207, such as a video processor. There may also be one ormore user input devices 208, such as a remote control, keyboard, mouse,touch screen, microphone, etc. The computing device 200 may also includeone or more network interfaces, such as a network input/output (I/O)circuit 209 (e.g., a network card) to communicate with an externalnetwork 210. The network input/output circuit 209 may be a wiredinterface, wireless interface, or a combination of the two. In someembodiments, the network input/output circuit 209 may include a modem(e.g., a cable modem), and the external network 210 may include thecommunication links 101 discussed above, the external network 109, anin-home network, a provider's wireless, coaxial, fiber, or hybridfiber/coaxial distribution system (e.g., a DOCSIS network), or any otherdesired network. Additionally, the device may include alocation-detecting device, such as a global positioning system (GPS)microprocessor 211, which can be configured to receive and processglobal positioning signals and determine, with possible assistance froman external server and antenna, a geographic position of the device.

FIG. 2 shows an example hardware configuration. Modifications may bemade to add, remove, combine, divide, etc., components as desired, andsome or all of the elements may be implemented using software.Additionally, the components illustrated may be implemented using basicdisplay devices and components, and the same components (e.g., theprocessor 201, the ROM 202, the display 206, other input/output devices,etc.) may be used to implement any of the other display devices andcomponents described herein. For example, the various components hereinmay be implemented using display devices having components such as aprocessor executing computer-executable instructions stored on acomputer-readable medium (e.g., the storage 205), as illustrated in FIG.2.

FIG. 3 illustrates a computing device 300 in accordance with one or moredisclosed features described herein, which may comprise, may besubstantially similar to, and/or may be the computing device 200, asshown in FIG. 2. The computing device 300 may comprise or otherwise beassociated with a display 330, which may comprise, be substantiallysimilar to, and/or be the display 206, as shown in FIG. 2. The display330 may display, project, show or otherwise provide a user interface340. The display 330 may be a touchscreen, touch display, holographicdisplay, and the like. The computing device 300 may be, for example, aset-top box 113, personal computer 114, laptop computer 115, gateway111, modem 110, display device 112, landline phone 117, wireless device116, a mobile device (smartphone, tablet, smartwatch, Bluetooth, etc.),digital video recorder (DVR), personal digital assistance, digital videoplayer, audio device, or any other device capable of providing oraccessing media and/or content, or combinations thereof.

The user interface 340 may comprise one or more interface objects, whichmay include selectable and/or non-selectable objects. For example, theinterface objects may comprise graphical elements, such as videos,images, or text, which may be selectable, configured to receive anddetect input, or otherwise capable of interactivity, such as beingcapable of being selected or used to input commands (e.g., from a user).According to some aspects, the interface objects might not only comprisegraphical elements, but may comprise one or more non-graphical elements,such as an interactive selectable blank portion (e.g., no visible imageor overlay graphics) of the user interface 340. Thus, for example, asecurity application or mechanism (or associated object) may be selectedor activated by touching a non-graphical object on the user interface340 that may correspond to the security application. In addition, asecurity application or mechanism (or associated object) may be selectedor activated by touching an image or graphical object on the userinterface 340 that may correspond to the security application. Theseaspects will be described below in more detail.

The user interface 340 may include (e.g., display) one or moreapplications running, executing, or otherwise being provided by thecomputing device 300. As shown in FIG. 3, the interface 340 may includea time and date application 351, which may show the current time anddate, a battery application 352, which may show how much power is leftin a battery of the computing device 300 (e.g., percentage of batteryremaining), and a weather application 353, which may show the currentweather for a location (e.g., a current location of the device, aselected location, etc.). Information provided by one of theseapplications may be configured to fluctuate (e.g., dynamically change).For example, the weather at a given location may change or vary fromminute to minute, hour to hour, day to day, etc. The weather application353 may retrieve or determine weather updates via a weather source(e.g., a source internal to the computing device 300, a third-partysource, the local office 103 or other entity, etc.) at fixed (e.g.,periodically every 30 minutes) or at non-fixed/random times (e.g.,whenever a user requests updated weather, whenever a data signal isavailable, etc.). Thus, the weather application 353 may determine and/ordisplay one or more values (e.g., current temperature of 45 degrees,current forecasted high temperature of 47 degrees, etc.) of parametersthat are configured to change, such as the high or low forecastedtemperature, the current temperature, the current sky condition, and thelike. In another example, the time and date may change over time, andthus the time and date application 351 may determine or retrieve a valuefor the time and date parameters from a time source (e.g., an internalsource, a third-party source, the local office 103 or other entity,etc.). The time and date application 351 may then display (or might notdisplay) the determined value of the time and date parameter (e.g.,10:36 AM, Thursday, November 13). In another example, the remainingbattery power parameter may change whenever a battery of the computingdevice 300 is used or charged. Thus, the battery application 352 maydetermine (e.g., via an internal source, etc.) and/or display a value(e.g., 59%) of the battery power parameter.

The user interface 340 may include an input section 350, which may beused to detect or receive input, such as haptic and/or tactile contact(e.g., via a finger, etc.), input from an input device (e.g., mouse,stylus, etc.), other sensory input (e.g., via motion input, such as eyeor hand movement, audio or voice input, etc.), and the like. As shown inFIG. 3, the input section 350 may be composed of input objects 301-312,which may be selectable and/or movable images (e.g., images of dots asshown in FIG. 3).

According to some aspects, the user interface 340 may be configured in alocked configuration, thereby preventing access to the contents ofcomputing device 300 without unlocking (e.g., via a security mechanism)the computing device 300 and/or user interface 340. According to someaspects, a security application or mechanism may provide the lockingcapability of the computing device 300. The security application may beexecuting on the computing device 300 or may be remotely executing(e.g., via the local office 103 or other entity, etc.). According tosome aspects, a user (or other entity) may input commands (e.g., viacontact, an input device, etc.) via the input section 350 (or otherportion) of the user interface 340. For example, the user interface 340may comprise one or more movable or selectable user interface inputobjects configured for unlocking the computing device 300 via thesecurity mechanism. As shown in FIG. 3, the objects 301-312 may beselectable and/or moveable, such that in response to a user selectionand sliding of a correct one of the objects 301-312, the computingdevice 300 may unlock via the security mechanism. According to someaspects, the correct one of the objects 301-312 may be user defined,defined by an entity (e.g., such as the local office 103 or otherentity), defined by the security application (e.g., via a computeralgorithm), and/or the like. One example of a correct object may be theobject 301, which may be configured to slide to the right. Thus, a usermay unlock the computing device 300 by providing a slide input (e.g.,via contact between the display 330 and a body part, via an inputdevice, etc.) that may select and move the object 301 to the right.Other methods of configuring the security mechanism forlocking/unlocking the computing device 300 may also be used, some ofwhich will be described below in more detail.

FIG. 4 illustrates the computing device 300 providing a securitymechanism configuration or settings menu 402 in accordance with one ormore disclosed features described herein. According to some aspects, themenu 402 (and information received via the menu 402 or other sources)may be used by the computing device 300 to set, define, or otherwiseconfigure a locking mechanism for the computing device 300 in accordancewith one or more disclosed aspects. According to some aspects, thelocking mechanism may be configured in some other way besides the menu402 (e.g., via computing code, via the local office 103 other entity,etc.). The menu 402 may include one or more fields 404-414 that may becapable of receiving one or more parameters, settings, orconfigurations, which may be received by the computing device 300 froman application, a user, the local office 103 or other entity, etc. Themenu 402 may be displayed or otherwise provided via the display 330 ofthe computing device 300.

The menu 402 to receive settings/inputs (e.g., the fields 404-414) thatmay be used to configure a locking mechanism or application used by thecomputing device 300 (such as described above with respect to FIG. 2 andin further herein). The settings may define which parameters to base thelocking mechanism (the fields 404 a and 404 b), one or morerelationships between the parameters (the field 406), one or moreformats for any of the parameters or any of the relationships betweenparameters (the field 408), one or more types of user interface inputthat may be used to unlock the computing device 300 (the field 410), oneor more input methods that may be used to unlock the computing device300 (the field 412), and/or one or more timeout values that may describewhen a parameter or any of the relationships between parameters maytimeout or expire (the field 414). According to some aspects, one ormore of these settings/inputs might not be used in the configuration ofthe locking mechanism of the computing device 300, and othersettings/inputs not explicitly shown in FIG. 4 may be used in theconfiguration of the locking mechanism of the computing device 300. Thesettings may be pre-defined, and may be selectable via a drop-down menuor be otherwise selectable in a pre-defined manner. According to someaspects, the settings might not be pre-defined, and may be input by auser in a non-predefined manner (e.g., via typing). According to someaspects, the settings may be configured/set via the local office 103 orother entity, or may be configured/set by a third-party application orsource. According to some aspects, the settings may have a defaultsetting, which may be set or received from an application, etc.

As shown in the example of FIG. 4, the field 404 a may correspond toparameter #1 (P1), which is shown as configured with a setting of “Hourof Day (12 Hour).” Thus, in this example, the field 404 a may correspondto the parameter of the current hour of the day in a twelve hour format.For example, a value for the field 404 a may be determined by thecomputing device 300 (or other entity) to be 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, or 12, each of which correspond to an hour of the day in atwelve hour format. According to some aspects, the computing device 300may receive information from an application (or some other source) thatmay correspond to the field 404 a. For example, after the field 404 a isdefined with a particular parameter (e.g., Hour of Day) the computingdevice 300 may receive (or otherwise determine) a value for the currenthour of the day from a time application, an internal source, the localoffice 103 or other entity, etc. According to some aspects, a timeoutvalue for this parameter may be set for a parameter. For example, atimeout value for the hour of day parameter may be set to every hour onthe hour (e.g., because the value for the current hour of the day maychange every hour on the hour). According to some aspects, a parameterthat may be input into any one of the parameters 404 of menu 402 may bea variable parameter that may be configured to change, such as changeover time, periodically, randomly, change in response to some action(e.g., in response to the temperature rising, the battery powerdecreasing, etc.), etc. According to some aspects, a timeout value for aparameter may be determined based on how frequently a value of theparameter may change, how frequently a value of the parameter may bereceived by the computing device 300, how frequently the computingdevice 300 may determine the value of the parameter, or the like.

According to some aspects, a value of a parameter 404 may correspond toa value being displayed by the display 330, such as when the device isin a locked state, as shown in FIG. 3. For example, referring to FIG. 3,a value of a parameter 404 that may correspond to a value beingdisplayed by the display 330 may be the time, day of the week, month,date, current temperature, high temperature, low temperature, skycondition, and/or battery power remaining. According to some aspects, ifa user (or other entity) configures the computing device 300 to displaya value of a parameter (e.g., the time) on the display 330 when thecomputing device 300 is in a locked state, then the menu 402 may includea setting for that corresponding parameter (e.g., the timeparameter—hour of day parameter, minute of day parameter, first twodigits of displayed clock, etc.).

According to some aspects, a parameter 404 (and the parameter 404'svalue) may correspond to any information known or retrievable/receivableby the computing device 300. For example, based on the informationdisplayed on the display 330 in FIG. 3, a parameter 404 may be any ofthe following: a day of week (e.g., Monday=1, Tuesday=2, . . . ,Sunday=7); a month (e.g., January=1, February=2, . . . , December=12); atemperature (e.g., past, present, predicted, etc.) at a current locationor a specified location (e.g., as reported by a weather application orweather source such as The Weather Channel application or website, orother source); a Sunrise or Sunset time at a current location or aspecified location, etc. According to some aspects, a parameter 404 maybe based on any other information, such as an opening, current, closing,or specified date/time corresponding to price of a stock; a start or endtime of a meeting in calendar; the number of emails (e.g., unreademails, unopened emails, total emails, emails in a specified folder,etc.); the number of steps taken by a user or other person in a timeperiod (e.g., such as determined by and/or received from a fitnesstracker application; etc.); a distance between a current or specifiedlocation to a specified location (e.g., such as reported by a mappingapplication, etc.); a time to drive, walk, or ride between a current orspecific location to a specified location (as reported by Google maps,etc.); a car odometer reading (e.g., as reported by a odometerapplication, etc.); a score or statistic from a sporting event; etc.

Also shown in FIG. 4, the field 404 b may correspond to a secondparameter (e.g., parameter #2 (P2)), which may be configured with asetting of “5.” According to some aspects, the field 404 b (and/or anyother field of the menu 402) may be a fixed parameter that may beuser-defined or otherwise pre-defined (e.g., via the local office 103 orother entity, an application, etc.). For example, the user (or otherentity or application) may input the number “5” into the field 404 b.According to some aspects, a user (or other entity) may configure,input, and/or change this parameter at any time (e.g., such as when themenu 402 is display on the display 330, via programing code, etc.). Thecomputing device 300 may determine a value associated with the secondparameter based on this fixed value. For example, the computing device300 may determine that a value for this parameter may be “5,” which maycorrespond to the predefined value. According to some aspects, a fixedparameter might not be associated with a timeout value, and thus, mightnot expire in a similar manner as a variable parameter, such as after apredetermined time or event. While two parameters are illustrated inFIG. 4, any number of parameters (e.g., 1, 3, 6, etc.) may be used inaccordance with aspects disclosed herein.

Field 406 may describe a relationship between the values of theparameter(s) determined from the parameter field(s) 404. Therelationship may involve one or more of these parameter values. Forexample, the relationship may describe be a mathematical operationbetween the values of the parameters 404 (e.g., add, subtract, multiply,divide, exponentiation, remainder from division, fraction, negation,factorial, logarithm, square root, absolute value, trigonometricoperations, etc.). The relationship may be a numeric comparison, such asequality, inequality, less than, less than or equal to, greater than, orgreater than or equal to. The relationship may be a logical or Booleanoperation (and, or, xor, xnor, not, nand, nor, etc.). The relationshipmay be any other relationship that may be implemented between one ormore values. As shown in FIG. 4, the relationship may be configured as“P1+P2,” which may describe adding the determined value of the parameter1 of the field 404 a to the determined value of the parameter 2 of thefield 404 b. According to some aspects, the value of the field 406 maybe a numerical value that may result from the performance or executionof the identified relationship between parameters and their associatedvalues.

Field 408 may describe a format for a value determined for any of theparameters 404 and/or a value of the relationship field 406. As shown infield 408, the format may be configured to be “Set to 1-12.” Accordingto some aspects, this format may correspond to the hours of a 12-hourclock cycle. For example, if the computing device 300 determines thevalue of the parameter 404 a to be 12 (e.g., because the time may be12:36 AM) and the value of the parameter 404 b to be 5 (e.g., becausethe user pre-defined the value of parameter 404 b to be 5), then therelationship of 12+5 may result in a value of 17. The formatted value of17 using the format of “Set to 1-12,” may result in a value of 5 (e.g.,17−12=5). In another example, if the value of the parameter 404 a may be7 (e.g., because the time may be 7:12 PM) and the value of the parameter404 b may be 5, then the relationship of 7+5 may result in a value of12. The formatted value of 12 using the format of “Set to 1-12,” mayresult in a value of 12. In another example, if the value of theparameter 404 a may be 4 (e.g., because the time may be 4:16 PM) and thevalue of the parameter 404 b may be 5, then the relationship of 4+5 mayresult in a value of 9. The formatted value of 9 using the format of“Set to 1-12,” may result in a value of 9. Thus, any formatted valueusing the format “Set to 1-12” may result in a numerical value between1-12. Other types of formatting (e.g., set to 1-10, etc.) may be used inaccordance with aspects disclosed herein.

According to some aspects, an input format may be a default format.According to some aspects, a default format may be set or defined by anentity, such as the local office 103 or a user. According to someaspects, a default format may be set or defined based on an associatedparameter or on the type of source that may transmit informationassociated with the parameter. For example, whenever the hour of dayparameter may be input as a parameter 404, a default format may beset/implemented that may format the value of the relationship defined infield 406 to a number between 1-12. According to some aspects, thedefault format may be changed or configured to be another value.According to some aspects, there may be no default value set for theformat. In such a situation, the format may be selected by the user (orother entity) or might not be selected or configured with a value (e.g.,formatting might not be performed).

The field 410 may describe a type of user interface input that may beused to unlock the computing device 300. As shown in FIG. 4, the field410 may be configured with “6 Horizontal Slides (12 Sliding Dots).” Thissetting may correspond to a configuration of the input section 350 asshown in FIG. 3. For example, referring to FIG. 3, the objects 301-312may correspond to the 12 sliding dots, and the 6 horizontal slides maycorrespond to a sliding slot or plane for each pair of the objects301-312 (e.g., one slide may correspond to the sliding slot or plane forobjects 301 and 302, a second slide may correspond to the sliding slotor plane for objects 303 and 304, etc.). In other examples, there may beany number (e.g., different than 6) of objects comprised in the inputsection 350. For example, the user interface input may comprise one ormore vertical sliding dots, squares, and/or other images that maycorrespond to one or more objects on the user interface 340.

The field 412 may describe a type of input method for a user interfacethat may be used to unlock the computing device 300. As shown in FIG. 4,the field 412 may be configured with “Slide or Swipe.” This setting maycorrespond to a sliding input type (e.g., as described above) or swipinginput type. For example, referring to FIG. 3, a user wishing to unlockthe computing device 300 may swipe at or slide one or more of theobjects 301-312. The input method may be any type of input method, suchas sliding, moving, selecting, clicking, visual, audio, motion based,etc. For example, the user interface input may comprise sliding, moving,selecting, or clicking one or more graphical or non-graphical elementsor objects, such as to another location on the user interface 340. Inanother example, a user may input a symbol on the user interface 340,such as making an “X” symbol by sliding a finger (or other input device)from the top left corner to the bottom right corner of the display 330,and then sliding a finger from the top right corner to the bottom leftcorner of the display 330. Other types of input methods may includerotating one or more graphical or non-graphical elements or objects(e.g., making a twirl, circle, etc.), rotating a graphical dial to avalue or by a determined amount (e.g., rotate to the number 5 on a dialshowing the numbers 1-12), entering a set of numbers or letters, and thelike.

The field 414 may describe a timeout setting or value for a parameter404 or any relationship 406 between parameters. A timeout value mayinform the computing device 300 of an expiration of a value associatedwith a parameter 404. For example, a timeout value for parameter 404 amay be set to every hour on the hour. In such a case, at every hour onthe hour (e.g., at 10:00 AM, 11:00 AM, 12:00 PM, 1:00 PM, etc.),parameter 404 a may expire or otherwise cause the computing device 300to request, retrieve, or receive additional information for theparameter 404 a to determine a corresponding value (e.g., the currentvale may be refreshed with a new current value). With respect to FIG. 4,after a parameter 404 times out, other values of the fields shown inFIG. 4 may also change/update their corresponding values. For example,if the computing device 300 determines the value of the parameter 404 ato be 12 (e.g., because the time may be 12:36 AM) and the value of theparameter 404 b to be 5 (e.g., because the user pre-defined the value ofparameter 404 b to be 5), then the relationship of 12+5 may result in avalue of 17. The formatted value of 17 using the format of “Set to1-12,” may result in a value of 5 (e.g., 17−12=5). At 1:00 AM, thecurrent value of the timed out parameter 404 a may expire, and thecomputing device 300 may receive, retrieve, or request additionalinformation/data regarding the current time (e.g., from an internalsource or other source like a time application or the local office 103,etc.). Based on this additional information, the value of the parameter404 a may change from “12” to “1.” The value of the parameter 404 b maystay “5,” and the relationship of 1+5 may result in a value of 6. Theformatted value of 6 using the format of “Set to 1-12,” may result in avalue of 6. According to some aspects a timeout value for a parametermay be determined based on how frequently a value of the parameter maychange, how frequently a value of the parameter may be received by thecomputing device 300, how frequently the computing device 300 maydetermine the value of the parameter, or the like.

FIGS. 5, 6A, 6B, 7A, and 7B illustrate examples in accordance withdisclosed aspects of unlocking a locked computing device 300, such asafter the user interface 340 may have been configured in accordance withone or more settings, such as the settings shown on the menu 402 in FIG.4.

FIG. 5 illustrates the computing device 300 in a locked state having adisplay 330, which may display or show the user interface 340. The userinterface 340 may include an input section 350 having the objects301-312. The user interface 340 may also display the applications 351,352, and 353. FIG. 5 also illustrates a chart 520 showing a value orresult (e.g., determined by the computing device 300) for each field ofthe example menu 402 as shown in FIG. 4. For example, as shown in FIG.4, the field 404 a may correspond to a parameter #1 (P1) and may beconfigured with a setting of “Hour of Day (12 Hour Format).” Thus, thefield 404 a may correspond to the parameter of the current hour of theday in a twelve hour format. Because P1 may change or fluctuate overtime or in response to an event or some action, P1 may be referred to asa variable parameter. Referring back to FIG. 5, the time and dateapplication 351 may transmit and/or provide information regarding thecurrent time and date to the computing device 300. The computing device300 may display the current time and date (e.g., via the application351) on the display 330 via the user interface 340. As shown in FIG. 5,the current time may be 10:36 AM. Based on this time-related informationreceived by the computing device 300, the computing device 300 maydetermine that a current value for P1 may be “10,” as shown by theelement 504 a in the chart 520. According to some aspects, a variableparameter might not be displayed or provided via the display 330. Insuch cases, the computing device 300 may still be able to determine avalue for the variable parameter based on information received from asource or based on internal sources.

Referring to FIG. 4, the field 404 b may correspond to parameter #2(P2), which may be configured with a setting of “5.” Because P2 mightnot fluctuate over time or in response to an action or event (e.g.,besides being manually changed or set), P2 may be referred to as a fixedparameter. For example, a user (or other entity or application) mayinput (or otherwise transmit) the number “5” into the computing device300 via the field 404 b. Referring back to FIG. 5, the computing device300 may retrieve or otherwise determine (e.g., via an internal source)that a value for P2 may be “5,” as shown by the element 504 b in thechart 520.

The computing device 300 may then determine an initial quantity or valueas a result of a relationship between P1 and P2 as defined in the field406 as shown in FIG. 4. As shown in FIG. 4, the relationship may bedefined as the mathematical relationship of “P1+P2,” which may describeadding the determined value of P1 to the determined value of P2. Asshown in FIG. 5, the computing device 300 (or other entity) maydetermine or compute the initial value based on this mathematicalrelationship, which may result in a value of 15 (e.g., 5+10=15), asshown by the element 506 in the chart 520.

The computing device 300 may then determine a formatted value orquantity for the determined initial quantity or value as a result of theformat defined in the field 408 as shown in FIG. 4. As shown in FIG. 4,the format may be defined as “Set to 1-12,” which may describeformatting the determined initial value to a value between 1-12(inclusive). As shown in FIG. 5, the device (or other entity) maydetermine or compute a formatted value based on the defined format,which may result in a value of 3 (e.g., take the remainder of dividingthe determined initial value by 12 or compute “15-12”), as shown by theelement 508 in the chart 520. For example, 15 divided by 12 equals “1”with a remainder of 3.

In another example, if the computed initial value may have been 28(e.g., using some other values for P1 and P2), then using the 1-12format, a formatted value for 28 may be 4 (e.g., the remainder ofdividing 28 by 12). Another way to compute the formatted value for theinitial value of 28 may be to compute “28−12−12=4.” Therefore, thecomputing device 300 may determine that the formatted value may be “4”for a computed initial value of 28 using the 1-12 format.

The computing device 300 may then determine a type of user interfaceinput that may be used to unlock the computing device 300. As shown inFIG. 4, the field 410 may be configured with “6 Horizontal Slides (12Sliding Dots).” Referring to FIG. 5, this setting may correspond to theinput section 350, which may include the objects 301-312 correspondingto one or more images of 12 sliding dots, and the 6 horizontal slidesmay correspond to a sliding slot or plane for each pair of the objects301-312 (e.g., one slide may correspond to the sliding slot or plane forthe objects 301 and 302, a second slide may correspond to the slidingslot or plane for the objects 302 and 304, etc.). This determined typeof user interface may be shown as the element 510 in the chart 520. Forexample, object 301 may be configured to slide to the right of thedisplay 330 in response to being contacted (e.g., by a finger, via aninput device, etc.) and moved to the right within a visible ornon-visible sliding slot or plane defined on the user interface 340(shown by the dotted lines). In addition, object 302 may be configuredto slide to the left of the display 330 in response to being contacted(e.g., by a finger, via an input device, etc.) and moved to the leftwithin the same sliding slot or plane as object 301. The objects 303-312may be configured in a similar manner.

The computing device 300 may then determine a type of input method thatmay be used to unlock the computing device 300. As shown in FIG. 4, thefield 412 may be configured with “Slide or Swipe,” which may correspondto a sliding input type or swiping input type. This may be shown by theelement 512 in the chart 520. For example, referring to the computingdevice 300 in FIG. 5, this input method may correspond to a user,wishing to unlock the computing device 300, swiping at or sliding one ormore of the objects 301-312, such as described above.

The computing device 300 may determine a timeout value for one of theparameters P1 or P2 or any value associated with the relationshipbetween parameters. As shown in FIG. 4, the field 414 may be configuredwith a timeout value of “Every Hour on the Hour,” which may describe thetimeout value for the parameter 404 a. Alternatively or additionally,the field 414 may be configured with a timeout value of “Every hour onthe hour” for the value as defined by the relationship between theparameters (e.g., for a value associated with the field 406).Accordingly, at every hour on the hour, the determined value for P1 mayexpire. This may be shown by the element 514 in the chart 520. Thecomputing device 300 may then request or receive additional information,such as information (e.g., information associated with the current time)the computing device 300 may use to determine a value for the expiredvalue or for any other value.

As shown in FIG. 5, the computing device 300 may generate the userinterface 340, such as the input portion 350, with a security or lockingmechanism that may be based on the above information and/or settings.For example, based on the determined formatted value of “3,” thecomputing device 300 (or other entity) may assign or configure one ormore of the objects 301-312 as a “correct” object (e.g., the thirdobject 303) that may be, when input in an acceptable or defined manner,configured to unlock the computing device 300. FIGS. 6A, 6B, 7A, and 7Billustrate examples of trying to unlock the computing device 300.

FIGS. 6A-6B illustrate examples of the computing device 300 receiving anincorrect input attempting unlocking the device (as configured withrespect to FIGS. 4 and 5). Referring to FIG. 6A, a user (or otherentity) may use a body party (e.g., a finger), other input device (e.g.,a stylus, mouse, etc.), or other manner of input (e.g., visual, etc.) toinput one of the objects 301-312 to try to unlock the computing device300. For example, a first user might not know one or more of theparameters and/or settings used to configure the locking mechanism ofthe user interface 340 and the input section 350. The first user mayhave stolen the computing device 300, not be associated with thecomputing device 300, or otherwise not be authorized to use thecomputing device 300. The first user may try to access the contents ofthe computing device 300 and may try to unlock the device by inputtingone of the objects 301-312. For example, the first user may try tounlock the device by using a finger to contact the display 330 at theobject 308, and may try sliding the object 308 to the left by moving thefinger to the left (shown in FIG. 6A with the hashed circles, finger,and arrow pointing to the left). This input may be incorrect, becausethe user interface 340 may be configured to unlock in response to thesliding or swiping of the object 303 to the right (e.g., based on thedetermined values as shown in the chart 520). Alternatively oradditionally, if the input method is incorrect, then the computingdevice 300 also might not unlock. For example, the first user may tapone of the objects 301-312, which may be an incorrect input method,because the input method may be defined as a swipe or slide.

Accordingly, after the computing device 300 receives this incorrectinput, the computing device 300 may request additional securityinformation by configuring the user interface 340 in a differentconfiguration, such as shown in FIG. 6B. As shown in FIG. 6B, thecomputing device 300 may display a user interface 340 having an inputportion 380. The input portion 380 may be, for example, a keypad thatmay request a personal identification sequence or number as additionalsecurity information for unlocking the computing device 300.

According to some aspects, the input portion 380 requesting additionalsecurity information may be generated and/or configured in a similarmanner (and/or with a different set of parameters) as the input portion350 and the associated unlocking mechanism disclosed above and herein.For example, in response an unsuccessful attempt to unlock the computingdevice 300 using the input portion 350, the computing device 300 maydisplay the input portion 350 configured with a security mechanismconfigured in the same or similar manner with a second set of parametersand values, which may be the same or similar parameters or values of thesecurity mechanism configured for the initial unlocking attempt. Thefirst user may then attempt to unlock the computing device 300 byinputting a correct object (e.g., in a correct input manner) based onthe second set of parameters. According to some aspects, after correctlyinputting this additional security information (or any other informationrequested by the computing device 300), the computing device 300 mayunlock.

According to some aspects, after an initial (or subsequent) unsuccessfulattempt to unlock the computing device 300, the computing device 300 mayenter into a locked-out state. The locked-out state may require thefirst user to perform some addition action, such as contacting a serviceprovider or other entity (e.g., which may be associated with providingnetwork access to the computing device 300) to authenticate or validatethat the first user is authorized to access the contents of thecomputing device 300. In response to a successful authentication, theservice provider or other entity may unlock the computing device 300 (orotherwise allow the user access to the contents of the computing device300). According to some aspects, the locked-out state may require thecomputing device 300 to wait for a period of time (e.g., 30 minutes,etc.) before allowing another attempt to unlock the computing device 300(e.g., via the input portion 350). According to some aspects, thelocked-out state may disable the computing device 300 or otherwise makethe contents of the device inaccessible (e.g., via encryption, etc.).

FIGS. 7A-7B illustrate examples of the computing device 300 receiving acorrect input attempting to unlock the computing device 300 (asconfigured with respect to FIGS. 4-5). Referring to FIG. 7A, a user (orother entity) may use a body party (e.g., a finger), other input device(e.g., a stylus, mouse, etc.), or other manner of input (e.g., visual,etc.) to input one of the objects 301-312 to try to unlock the computingdevice 300. For example, a second user may know the parameters andsettings used to configure the locking mechanism of the user interface340 and the input section 350 (e.g., because the second user may haveset one or more of the settings or parameters via the menu 402, viacomputing code, or some other way). Based on the knowledge of theseparameters and settings, the second user may be able to determine thecorrect way to unlock the computing device 300. For example, as shown inFIG. 7A, the time may be displayed to be 10:36 AM. Based on the currenttime, the second user may then determine (e.g., by viewing the currenttime on the screen, or otherwise determining the current time) that thevalue for P1 may be “10.” The second user may also know that the valuefor P2 may be set to “5” (e.g., the second user may have set this valueor otherwise know the value). The second user may know the definedrelationship, format, a type of user interface input, type of inputmethod, and the timeout parameter or value. Based on these parametersand settings, the second user may try to unlock the device by using afinger to contact the display 330 and sliding the object 303 to theright by moving the finger to the right (as shown in FIG. 7A by thehashed circles, finger, and the arrow pointing to the right). This inputmay be correct, because the user interface 340 may be configured tounlock in response to the sliding or swiping of the object 303 to theright. In response to a successful attempt to unlock the computingdevice 300, the computing device 300 may transition to an unlockedstate, as shown in FIG. 7B, in which the second user may access thecontents of the computing device 300.

FIG. 8 illustrates the computing device 300 displaying or providingexamples of various information and data that may be used in accordancewith one or more disclosed aspects. The computing device may display onthe display 330 (e.g., via the interface 340) one or more applications(some of which may be third-party applications) and information providedby those applications and/or received by the computing device 300.According to some aspects, the computing device 300 shown in FIG. 8 maybe in a locked state and may be configured with a locking mechanism(e.g., which may configure the input section 350) using one or morepieces of information that may be displayed via the display 340. Forexample, as discussed above, the interface 340 may include a time anddate application 351, which may show the current time and date, abattery application 352, which may show the percentage of batteryremaining in a battery coupled to the computing device 300, and aweather application 352, which may show weather related information. Inaddition, the interface 340 may also include an email application 354(e.g., that may indicate the number of unread emails, unopened emails,total emails, emails in a specified folder, etc.), a text messagingapplication 355 (e.g., that may indicate the number of new textsreceived, number of total texts, etc.), a finance application 356 (e.g.,that may indicate banking information, financial information, stockmarket information), a scheduling application 357 (e.g., that mayindicate meeting dates, upcoming meeting times and dates, etc.), afitness application 358 (e.g., that may indicate fitness relatedinformation, number of steps taken, distance walked, etc.), a sportsapplication 359 (e.g., that may indicate scores from sporting events,such as from a favorite team's sporting event), and a sunrise/sunsetapplication (e.g., that may indicate sunrise, sunset, etc. for aprovided or current location).

According to some aspects, one or more parameters associated with theapplications 351-360 may be variable parameters, such that the one ormore of the numerical values displayed on display 330 in FIG. 8 mayfluctuate or change based on an event and/or based on time. For example,the amount of step displayed on the display 330 may increase from 1,408to 1,409 in response to the user taking a step, the application 358detecting that step, the application 358 increasing a number of stepswalked by one, and the application 358 transmitting or providing theupdated number of steps to the computing device 300. In another example,the sunrise and/or sunset times may change each day.

FIGS. 9 and 10 illustrate examples of configuring the computing device300 with an example of a security mechanism and user interface, andattempting to unlock the computing device 300 based on theconfiguration. FIG. 9 illustrates the computing device 300 providing asecurity mechanism configuration or settings menu 902 in accordance withone or more disclosed features described herein. The menu 902 may thesame or substantially similar to the menu 402. The menu 902 may includeone or more fields 904-914 (similar to the fields 404-414) that may becapable of receiving one or more parameters, settings, orconfigurations, which may be received by the computing device 300 froman application, a user, the local office 103 or other entity, etc.According to some aspects, one or more of these parameters might not beused in the configuration of the security mechanism of the computingdevice 300. For example, as shown in FIG. 9, the field 904 b and thefield 906 might not be defined with a parameter or setting, and may beleft blank. Alternatively or additionally, the fields 904 b and 906might not be displayed in the menu 902 if these fields have no definedsetting. According to some aspects, a field, such as a second, third, orother subsequent parameter, may be added to the menu 902 (e.g., via an“Add” input button, etc.).

As shown in FIG. 9, the field 904 a (P1) may be configured with asetting of “Current Temperature.” Thus, the field 904 may correspond tothe parameter of the current temperature, such as reported by and/orreceived by the computing device 300 from the weather application 353 orsome other weather source. The field 908 may be configured with asetting of “Set P1 to Last Digit,” which may correspond to formattingthe determined value of P1 to a value equal to only the last digit ofthe determined value of P1. The field 910 may be configured with asetting of “Rotating Dial and OK Button,” which may correspond to thetype of user interface input that may be used to unlock the computingdevice 300. The field 912 may correspond to an input method of “Drag andTap,” which may correspond to the type of input method that may be usedto unlock the computing device 300. The field 914 may correspond to atimeout value of “Every 5 minutes or after receiving new data fromapplication,” which may correspond to a timeout value of P1. Based onthese settings, the computing device 300 may generate a user interface1040 as shown in FIG. 10.

FIG. 10 illustrates a chart 1020 showing a value or result for eachfield of the example menu 902 as shown in FIG. 9. For example, as shownin FIG. 10, the computing device 300 may determine a value for the field904 a to be “45,” as shown by element 1004 a. For example, the computingdevice 300 may receive the information relating to current temperatureform the application 352 or some other source, and may determine thecurrent temperature and the value for the field 904 a based on thisinformation. The computing device 300 may determine a value for thefield 908 to be 5 (as shown by the element 1008), based on the lastdigit of “45.” The computing device 300 may determine a value for thefield 910 to be “Rotate to 5 on Dial,” as shown by the element 1010. Thecomputing device 300 may determine a value for the field 912 to be “Dragand Tap,” as shown by the element 1012. The computing device 300 mayalso determine a value for the field 914 to be “Every 5 minutes or whennew information is received,” as shown by the element 1014.

FIG. 10 also illustrates the computing device 300 in a locked statehaving a display 330, which may display or show the generated userinterface 1040 that may be based on the above determined values. Theuser interface 1040 may include an input section 1050 having the objects1001 and 1002. The object 1001 may be an image of a dial that mayinclude the numbers 1-10 spaced in a radial fashion around the dial'sperimeter. The object 1001 may also include an arrow (or some other typeof indicator) that may be configured to move in a circular motion aroundthe dial. The object 1002 may be a box or button that may have includethe term “OK.” The objects 1001 and 1002 may be similar to the objects301-312 in that the objects 1001 and 1002 may be configured to receivean input via contact with a body part or other input device or in someother manner, such as disclosed herein. The computing device 300 mayalso display the applications 351-353.

In one example, a user wishing to unlock the computing device 300 ofFIG. 10 may have knowledge of the configuration of the locking mechanismused to configure the user interface 1040. For example, the user mayknow that the computing device 300 may unlock after the dial may havebeen turned to a number equal to the last digit of the currenttemperature (e.g., as determined based on viewing the displayedtemperature of the application 353 or in some other manner). The usermay use a stylus (or finger) to contact the display 330 to drag thearrow of the object 1001 to the “5” position. The user may then use thestylus (or finger) to tap the object 1002, which may indicate the userhas settled on entering 5 as an input for unlocking the device. Inresponse to the computing device 300 receiving this correct input forattempting to unlock the computing device 300, the computing device 300may transition to an unlocked state.

FIG. 11 illustrates an exemplary flow diagram illustrating an exampleprocess 1100 in accordance with one or more disclosed features describedherein. FIG. 11 may illustrate an example process of the computingdevice 300 configuring a locking application or mechanism and a userinterface, and of the computing device 300 receiving an input attemptingto unlock the computing device 300. In one or more embodiments, theprocess illustrated in FIG. 11 and/or one or more steps thereof may beperformed by one or more computing devices and/or entities (e.g., thecomputing device 200, the computing device 300, components of the localoffice 103, one or more content providers, and the like). In otherembodiments, the process illustrated in FIG. 11 and/or one or more stepsthereof may be embodied in computer-executable instructions that arestored in a computer-readable medium, such as a non-transitorycomputer-readable memory. The steps in this flow diagram need not all beperformed in the order specified and some steps may be omitted and/orchanged in order.

In the example provided, the process 100 may being with step 1102, inwhich the computing device 300 (or other entity) may determine whetherthe computing device 300 may be in a locked state, thereby preventingaccess to the contents of the computing device 300. For example, asecurity application or mechanism may secure the computing device 300 ina locked state via a user interface 340. According to some aspects, anunlocked computing device 300 may automatically lock after not receivingany or user interaction for a predetermined period of time. According tosome aspects, a user may manually lock the computing device 300, such asby pressing a lock or power button. If it is determined at step 1102that the computing device 300 might not be in a locked state (e.g.,unlocked), the process may return to step 1102 to determine whether thecomputing device 300 may be in a locked state. If it is determined atstep 1102 that the computing device 300 may be in a locked state, theprocess may continue to step 1104.

At step 1104, the computing device 300 may identify a first parameter,such as one of the parameters 404 a and 404 b as shown in FIG. 4. Thecomputing device 300 may identify the first parameter based on receivinga defined parameter, such as defined in the menu 402 of FIG. 4.According to some aspects, a parameter may correspond to any informationknown or retrievable/receivable by the computing device 300. Forexample, a user or other entity may input a parameter (e.g., “CurrentBattery Power Left”) into the computing device 300. In another example,a user may select a parameter via a drop-down menu, or the parameter maybe otherwise selectable in a pre-defined manner. According to someaspects, the settings might not be pre-defined, and may be input by auser in a non-predefined manner (e.g., via typing or entering terms).According to some aspects, the settings (such as the first parameter)may have a default setting, which may be set or received from anapplication, etc. The computing device 300 may receive informationidentifying the first parameter from an external source, such as a thirdparty application, website, or other source. For example, weatherinformation may be received from a weather application or weatherwebsite. According to some aspects, a parameter may correspond to aparameter and/or value being displayed by the display 330 when thedevice is in a locked (or unlocked) state, such as shown in FIG. 3, andas shown in FIG. 8 with the numerical values displayed on the display330 via the applications 351-360.

At step 1106, the computing device 300 may determine whether the firstparameter may be a variable parameter. A variable parameter may be aparameter whose value may be configured to change, such as change overtime, periodically, randomly, change in response to some action (e.g.,in response to the temperature rising, the battery power decreasing,etc.), etc. A variable parameter may also be a parameter that may beassociated with a timeout value or condition (such as discussed hereinand below). According to some aspects, a parameter might not bevariable, but may be a fixed parameter. A fixed parameter may have apreset or pre-defined value, that might not be retrieved via anapplication or other source, and/or might not change over time,periodically, randomly, change in response to some action (i.e., besidesa user's or other entity's action to manually change the value of theparameter). For example, the local office 103 may define on thecomputing device 300 a value for the fixed parameter to be a particularnumber or value (e.g., “13”). In another example, the user may definethe value for the fixed parameter to be a particular number or value.According to some aspects, a user (or other entity) may configure,input, and/or change this parameter at any time (e.g., such as when themenu 402 is display on the display 330, via programing code, etc.).

If it is determined at step 1106 that the parameter might not be avariable parameter, the process may continue to step 1108. At step 1108,the computing device 300 may retrieve from a memory or otherwisedetermine the pre-defined or preset value. The process may then continueto step 1114.

If it is determined at step 1106 that the parameter may be a variableparameter, the process may continue to step 1110. At step 1110, thecomputing device 300 may determine a value for (or otherwise associatedwith) the variable parameter. For example, the computing device 300 mayrequest and/or receive a value for the current weather, or a forecastedhigh temperature, or the score of a football game, and the like. Thisinformation may be received by the computing device 300 from athird-party application/entity, may be determined via an internalsource, may be received by the computing device 300 from the localoffice 103 or other entity, and the like. According to some aspects, thecomputing device 300 (or other entity) may further perform one or moreadditional actions to determine the value for the variable parameter.For example, a variable parameter may be defined as a portion of areceived number or other piece of information. For example, a variableparameter may be defined as “The last digit of the current temperature,”and thus, for a current temperature of 102 degrees, a value determinedfor that variable parameter may be “2.”

At step 1112, the computing device 300 may set or determine a timeoutvalue for the variable parameter. According to some aspects, a timeoutvalue for a parameter may be determined based on how frequently a valueof the parameter may change, how frequently a value of the parameter maybe received by the computing device 300, how frequently the computingdevice 300 may determine the value of the parameter, or the like. Forexample, a weather application may update weather conditions every 5minutes, and therefore, a timeout value for a weather related parametermay be 5 minutes (or more). According to some aspects, a timeout valuemay be defined by a user or some other entity. For example, a user mayconfigure the computing device 300 (e.g., via computer code, via themenu 402, etc.) to refresh a value of a parameter after a predeterminedperiod of time (e.g., 15 minutes) for security reasons.

At step 1114, the computing device 300 may determine whether there maybe any additional parameters to be used by the computing device 300 ingenerating the locking mechanism and user interface. For example, a user(or other entity) may have input or otherwise defined more than oneparameter (e.g., via the fields 404 a and 404 b in FIG. 4) on thecomputing device 300, such as via the menu 402 or in some other manner(e.g., via computer code, etc.). If it is determined at step 1114 thatthere may be additional parameters that may be used by the computingdevice 300 in generating the locking mechanism and user interface, thenthe process may return to step 1104, where the computing device 300 mayidentify the additional parameter. If it is determined at step 1114 thatthere may be additional parameters that may be used by the computingdevice 300 in generating the locking mechanism and user interface, thenthe process may continue to step 1116.

At step 1116, the computing device 300 may determine whether more thanone parameters (and their associated values) have been determined. Forexample, the computing device 300 may have determined a value for eachof a plurality of parameters via one or more of the steps 1104-1114. Ifit is determined at step 1116 that the computing device 300 might nothave determined a value for more than one parameter, then the processmay continue to step 1122. If it is determined at step 1116 that thedevice may have determined a value for more than one parameter, then theprocess may continue to step 1118.

At step 1118, the computing device 300 may determine whether arelationship between one or more of the identified/determined parametersmay have been defined. For example, a user (or other entity) may haveinput or otherwise defined a relationship (e.g., via field 406 in FIG.4) on the computing device 300, such as (e.g., via the menu 402) betweenthe values of the parameter(s) determined from the field(s) 404. Therelationship may involve one or more of these parameter values. Forexample, the relationship may be a mathematical operation between one ormore of the parameters (e.g., add, subtract, multiply, divide,exponentiation, remainder from division, fraction, negation, factorial,logarithm, square root, absolute value, trigonometric operations, etc.).For example, the relationship for two parameters P1 and P2 may be:[Remainder of (3−P1)/(P2×2)], and the like. The relationship may be anumeric comparison, such as equality, inequality, less than, less thanor equal to, greater than, or greater than or equal to. For example, therelationship for two parameters P1 and P2 may be: [Greater of (P1 orP2); If P1=P2, then P1]. The relationship may be a logical or Booleanoperation (and, or, xor, xnor, not, nand, nor, etc.). For example, therelationship for two parameters P1 and P2 may be a XOR typerelationship: [If P1<10 and P2<10, then 2; If P1<10 and P2>10, then 4;If P1>10 and P2<10, then 4; If P1>10 and P2>10, then 2). According tosome aspects, there may be more than one relationship defined. Forexample, for three parameters, P1, P2, and P3, a first relationship maybe [P1+P2], and a second relationship may be [P2−P3]. In such a case,there may be two separate and/or distinct initial values determined(e.g., discussed with respect to step 1122), one initial value based onthe first relationship [P1+P2], and a second initial value based on thesecond relationship [P2−P3].

According to some aspects, there might not be a relationship definedbetween the parameters. In such a case, the identified parameter valuesmay be kept separate or otherwise not operated on by some operation ordefined manner. If it is determined at step 1118 that there might not bea relationship defined between one or more of the parameters, then theprocess may continue to step 1122.

If it is determined at step 1118 that there may be a relationshipdefined between one or more of the parameters, then the process maycontinue to step 1120, where the identified/determined relationship(s)may be executed by the computing device 300. For example, at step 1120,two parameters P1 and P2 may have determined values of 3 and 65(respectively), and a relationship may be defined as [Greater of (P1 orP2); If P1=P2, then P1]. Thus, at step 1120, the computing device 300may execute this relation by comparing the values of “3” and “65” todetermine the greater of these values (or whether the values are equal).

At step 1122, the computing device 300 may compute one or more initialvalues based on the values for each of the identified parameters. Forexample, the computing device 300 may determine for a single fixed orvariable parameter value (e.g., for the flow arrow coming from step1116), that the initial value for this fixed or variable parameter mayequal the determined value for this fixed or variable parameter (e.g.,as determined in step 1108 or step 1110).

In another example, the computing device 300 may determine for aplurality values of parameters (e.g., fixed, variable, or combination)that might not have a defined relationship (e.g., for the flow arrowcoming from step 1118), that respective initial values (e.g., an initialvalue for each determined parameter value) may be the respectivedetermined parameter values for each of these values (e.g., asdetermined in step 1108 and/or step 1110). For example, a fixedparameter P1 may have a determined value of “5” from step 1108, avariable parameter P2 may have a determined value of “8” from step 1110,and there may not be a relationship defined for these two variables(e.g., to be kept separate and/or distinct from each other). In such acase, the computing device 300, at step 1122, may determine one initialvalue of “5” and one initial value of “8.” According to some aspects,one initial value may be composed of a plurality of separate and/ordistinct values (e.g., “5” and “8”).

In another example, the computing device 300 may determine one or moreinitial values based on the execution of a determined relationshipbetween one or more of a plurality of parameters (e.g., steps 1118 and1120). For example, for two parameters P1 and P2 having determinedvalues of 3 and 65 (respectively), and a defined relationship or[Greater of (P1 or P2); If P1=P2, then P1, the computing device 300, atstep 1122, the computing device 300 may determine an initial value of“65,” because 65 is greater than 3.

In another example, there may be more than one relationship defined fora plurality of parameters. For example, three parameters, P1, P2, and P3may have respective values of 3, 2, and 1, a first relationship that maybe defined as [P1+P2], and a second relationship that may be define as[P2−P3]. In such a case, the computing device 300 may determine twoseparate and/or distinct initial values, one initial value (e.g., “5”)based on the first relationship [P1+P2], and a second initial value(e.g., “1”) based on the second relationship [P2−P3].

At step 1124, the computing device 300 (or other entity) may determinewhether to format one or more of the determined initial values inaccordance with a defined (or otherwise known by the computing device300) format. According to some aspects, a user (or other entity) mayhave input or otherwise defined a format (e.g., via field 408 in FIG. 4)on the computing device 300, such as via the menu 402 or in some othermanner (e.g., via computing code, etc.). For example, the defined formatmay instruct the computing device 300 on how to manipulate or otherwisechange an initial value determined in step 1122. According to someaspects, the format may change an initial value to a more simple valuewith which the computing device 300 may use to configure the lockingmechanism and user interface. If it is determined at step 1124 to notformat one or more of the initial values, then the process may continueto step 1128.

If it is determined at step 1124 to format one or more of the initialvalues, then the process may continue to step 1126, where the formattingof the one or more initial values may be executed or otherwise carriedout by the computing device 300 (or other entity). For example, theformat may be defined to be “Set to 1-12,” which may indicate to orinstruct the computing device 300 to set an initial value to a numberbetween 1-12. For example, the computing device 300 may compute aformatted value of “1” for an initial value of “13” based on the “Set to1-12” format. According to some aspects, the format may be an operationor formula, such as a mathematical operation or formula. For example,the format of “Set to 1-12” may correspond to the remainder of dividingthe initial value and 12. Thus, for an initial value of 39, using thismathematical statement, the computing device 300 may calculate (39/12)to be 3 with a remainder of 3. Another example of formatting may be to“Set to last digit,” which may result in a formatted value equal to thelast digit of an initial value. Another example of formatting may be to“Add first two digits to each other,” which may result in a formattedvalue equal to adding the first two digits of an initial value together.For example, using this format and an initial value of 515, a formattedvalue may be “6,” which may equal to the addition of the first twodigits of 515 (e.g., 5+1). Other types of formatting are also availableto be used in accordance with aspects disclosed herein.

At step 1128, the computing device 300 or other entity may compute ordetermine one or more final values based on the determined initialvalues. For example, a final value may be a formatted value, such asdetermined as a result of steps 1124 and/or 1126. In another example, afinal value may be one or more of the determined initial values (e.g.,non-formatted initial values), as determined as a result of step 1122.

At step 1130, the computing device 300 (or other entity) may determine atype of user interface to generate and/or type of user input to use inimplementing a locking mechanism. According to some aspects, a user (orother entity) may have input or otherwise defined a type of userinterface and/or a type of user input (e.g., via field 410 and/or field412 in FIG. 4) on the computing device 300, such as via the menu 402 orin some other manner (e.g., via computing code, etc.). The userinterface may comprise one or more interface objects, which may includeselectable and/or non-selectable objects. For example, the interfaceobjects may comprise graphical elements, such as videos, images, ortext, which may be selectable or otherwise capable of interactivity,such as being selected or used to input commands (e.g., from a user).According to some aspects, the interface objects might not only comprisegraphical elements, but may comprise one or more non-graphical elements,such as an interactive selectable blank portion (e.g., no image) of theuser interface. In one example, a type of user interface may be definedas “6 Horizontal Slides,” which may correspond to a user interfacehaving one or more objects configured to slide in six horizontal slides.In another example, a type of user interface may be defined as “Verticalslide for a number of times, then OK,” which may correspond to slidingone or more objects for a set number of times (e.g., the number of timesmay correspond or equal to one or more of the determined final values)and then entering “OK” to finalize the input sequence.

According to some aspects, the input method may be any type of inputmethod, such as sliding, moving, selecting, clicking, visual, audio,motion based, etc. For example, the user interface input may comprisesliding, moving, selecting, or clicking one or more graphical ornon-graphical elements or objects, such as to another location on theuser interface 340 or to make a symbol on the user interface 340 (e.g.,making an “X” symbol by sliding a finger (or other input device) fromthe top left corner to the bottom right corner of the display 330 andthen sliding a finger from the top right corner to the bottom leftcorner of the display 330); rotating or otherwise selecting one or moregraphical or non-graphical elements or objects (e.g., making a twirl,circle, etc.), rotating or otherwise selecting a graphical dial to avalue or by a determined amount (e.g., rotate to a determined finalvalue of 5 on a dial showing the numbers 1-12), or entering a set ofnumbers or letters.

At step 1132, the computing device 300 (or other entity) may generate,display, and/or otherwise provide (e.g., via a display) a user interfaceconfigured with a security mechanism (e.g., a locking mechanism) thatmay be based on any of the information determined in (and/or associatedwith) one or more of the steps of the process 1100. The user interfacemay be the same as or similar to the user interfaces discussed above(e.g., the user interface 340 as shown in FIG. 5). As described abovewith respect to FIG. 5, the computing device 300 may generate the userinterface 340 and an associated security mechanism based on one or morefinal values (e.g., step 1128), the type of user interface (e.g., step1130), and the type of input method (e.g., step 1130). For example, ifthe computing device 300 determines a final value to be 5, the type ofuser interface to be 6 slides with 12 dots, and the type of input methodto be slide or swipe, then the device may generate a user interface thatmay appear similar to the user interface 340 of FIG. 5. The computingdevice 300 (e.g., based on the final value of 5) may then assign orconfigure the 5^(th) dot (e.g., object 305 shown in FIG. 5) as a correctobject that, when input in the defined manner of slide or swipe, may beconfigured to unlock the computing device 300. The computing device 300might not assign any of the other objects 301-304 and 306-312 to be acorrect object that may be configured to unlock the computing device300.

In another example, using the same information as the previous example,but changing the type of user interface to be making an “X” with aninput device on the user interface for a number of times equal to thefinal value, the computing device 300 may generate a user interface thatmay display or otherwise show a blank screen, but may have non-visibleobjects capable of receiving an input. Thus, to unlock such a computingdevice 300, a user may have to use a finger to make an “X” on the blankportion of the screen (e.g., detectable via the non-visible objects) atotal of 5 times (e.g., the final value) to unlock the computing device300.

According to some aspects, the computing device 300 may generate a userinterface based on a plurality of final values. For example, thecomputing device 300 may determine final values of “3” and “2”, the typeof user interface to be “Blank for first value and 6 Slides for secondvalue”, and the type of input method to be tap, slide, or swipe. Basedon this information, the computing device 300 may generate a userinterface that may contain an input portion that contains a blankportion that may have one or more non-visible selectable objects and aportion containing 6 slides. Thus, to unlock such a device, a user mayhave to tap one of the non-visible objects a total of 3 times (e.g.,based on the final value of 3), and then may have to slide the secondslide out of the 6 slides (e.g., based on the final value of 2).

At step 1134, the computing device 300 may determine whether a timeoutcondition for one or more of the determined parameters may have beensatisfied. For example, the computing device 300 may have determined oneor more timeout conditions at step 1112 or may otherwise know one ormore timeout conditions for any of the determined parameters. Forexample, a weather application may update weather conditions every 5minutes, and therefore, a timeout value for a weather related parametermay be 5 minutes (or more). Accordingly, a timeout condition for thisparameter may be satisfied after the computing device 300 determinesthat 5 minutes have elapsed since the device determined (e.g., receivedfrom a weather application) the value for the weather related parameter.According to some aspects, the timeout condition may be manuallytriggered (e.g., by a user or other entity such as the local office 103or application). For example, the local office 103 may transmit amessage/instruction to the computing device 300 to timeout a value of aparameter. In another example, a weather application may instruct thecomputing device 300 to timeout a value of an associated parameter. Ifthe computing device 300 determines that a timeout condition for one ormore of the determined parameters may have been satisfied, then theprocess may return to step 1104. If the computing device 300 determinesthat a timeout condition for one or more of the determined parametersmight not have been satisfied, then the process may continue to step1136.

At step 1136, the computing device 300 (e.g., via the user interfaceconfigured with the security mechanism) may receive an input forunlocking the computing device 300. For example, the user interface mayreceive input as user contact (e.g., via a finger, etc.), input from aninput device (e.g., mouse, stylus, etc.), other sensory input (e.g., viamovement, such as eye or hand movement, audio or voice input, etc.), andthe like. The user interface may receive this input via one or moreobjects, such as the objects 301-312 shown in FIG. 5.

At step 1138, the device may determine whether the received input (e.g.,from step 1136) satisfies the parameters or configurations (e.g., therequirements) of the security mechanism (e.g., via a computing script,etc.). According to some aspects, the computing device 300 may determinewhether the received input may correspond to the determined valuesand/or information used to configure the user interface and/or securitymechanism. For example, the computing device 300 may determine finalvalues of “3” and “2”, the type of user interface to be “Blank for firstvalue and 6 Slides for second value”, and the type of input method to betap, slide, or swipe. Based on this information, the computing device300 may generate a user interface that may contain an input portion thatcontains a blank portion that may have one or more non-visibleselectable objects and a portion containing 6 slides. Thus, to unlocksuch a device, a user may have to tap one of the non-visible objects atotal of 3 times (e.g., based on the final value of 3), and then mayhave to slide the second slide out of the 6 slides (e.g., based on thefinal value of 2). Thus, an input comprising of a user tapping one ofthe non-visible objects 3 times, and then sliding the second slide maybe a correct input and may satisfy the requirements of the securitymechanism. If the computing device 300 determines that the receivedinput may satisfy the security mechanism, then the process may continueto step 1144. If the computing device 300 determines that the receivedinput might not satisfy the security mechanism, then the process maycontinue to step 1140.

At step 1140, the computing device 300 may request additional securityinformation (e.g., via a security mechanism). An example of additionalsecurity information may be shown in FIG. 6B and described in therelated sections of the disclosure. For example, the computing device300 may display a user interface that may request some additionalinformation, such as a PIN number or other security challenge. Accordingto some aspects, the computing device 300 may display a user interfaceconfigured in the same or similar manner as generated in step 1132 witha second set of parameters, which may include one or more of theparameters used to generate the user interface generated at step 1132.

At step 1142, the computing device 300 may determine whether anyreceived or input additional security may satisfy the request foradditional security information. If the computing device 300 determinesthat the additional security information might not satisfy the requestfor additional security information, the process may return to step1140, in which the computing device 300 may request even more securityinformation. According to some aspects, after an unsuccessful attempt toenter this security information, the computing device 300 may enter intoa locked-out state, such as described above with respect to FIGS. 6A and6B. The locked-out state may require the first user to perform someaddition action, such as contacting a service provider or other entity,require the computing device 300 to wait for a period of time (e.g., 30minutes, etc.) before allowing another attempt to unlock the computingdevice 300, or otherwise make the contents of the device inaccessible(e.g., via encryption, etc.). According to some aspects, the computingdevice 300 may be restarted, may be put in a sleep or stand-by mode, maybe powered off, may have a battery removed, or the like (e.g., via auser action, command, or button sequence). In such situations, thecomputing device 300 still might not have received satisfactoryadditional security information, and the process may return to step1140, where the computing device 300 may request additional securityinformation (e.g., the computing device 300 may still require theadditional security information in response to receiving unsatisfactoryunlocking criteria at 1138).

If the computing device 300 determines that the additional securityinformation may satisfy the request for additional security information,the process may continue to step 1144.

At step 1144, the computing device 300 may be unlocked (or the computingdevice 300 and/or user interface may be transitioned to another state),and the contents of the computing device 300 may be accessible.According to some aspects, at step 1144, the computing device 300 mayfurther require additional security information or additional action,even after being unlocked. The process may then return to step 1102, inwhich the computing device 300 may determine whether the device may bein a locked state. According to some aspects, the process 1100 may endafter any step.

Although example embodiments are described above, the various featuresand steps may be combined, divided, omitted, rearranged, revised and/oraugmented in any desired manner, depending on the specific outcomeand/or application. Various alterations, modifications, and improvementswill readily occur to those skilled in art. Such alterations,modifications, and improvements as are made obvious by this disclosureare intended to be part of this description though not expressly statedherein, and are intended to be within the spirit and scope of thedisclosure. Accordingly, the foregoing description is by way of exampleonly, and not limiting. This patent is limited only as defined in thefollowing claims and equivalents thereto.

What is claimed is:
 1. A method comprising: identifying, by a computingdevice, a first numerical value displayed on a display of the computingdevice; generating, based on the first numerical value, an input portionof a user interface configured in a locked state; determining, based onthe first numerical value, a second numerical value; and in response toreceiving, via the input portion, a gesture input corresponding to thesecond numerical value, transitioning the user interface from the lockedstate to an unlocked state.
 2. The method of claim 1, wherein thereceiving the gesture input comprises receiving a slide input, a tapinput, a rotational input, a typing input, a touch input, a click input,an audible input, a drag input, an optical input, or any combinationthereof.
 3. The method of claim 1, further comprising displaying aplurality of slide inputs, and wherein the receiving the gesture inputcomprises receiving a selection of a slide input of the plurality ofslide inputs.
 4. The method of claim 1, wherein the determining thesecond numerical value comprises determining the second numerical valuebased at least in part on a digit in the first numerical value.
 5. Themethod of claim 1, wherein the first numerical value comprises one ormore digits of: a quantity of new emails, a quantity of unread emails, aquantity of new text messages, a current stock price, a time of ameeting, a quantity of steps walked in a given day, a score of asporting event, a battery power, a sunrise time, a sunset time, acurrent date, or a numeric value associated with a current day.
 6. Themethod of claim 5, further comprising: receiving, via a user input, oneor more parameters; and determining, based on the one or moreparameters, the one or more digits.
 7. The method of claim 1, whereinthe identifying further comprises identifying a third numerical value,and wherein the determining the second numerical value further comprisesselecting the second numerical value based on a numeric comparisonbetween the first numerical value and the third numerical value.
 8. Amethod comprising: determining, by a computing device, a first numericalvalue displayed on a display of the computing device; determining, bythe computing device and based on the first numerical value and a presetsecond numerical value, a third numerical value; and unlocking thecomputing device in response to receiving, from a user, a gesture inputcorresponding to the third numerical value.
 9. The method of claim 8,wherein the unlocking the computing device comprises unlocking thecomputing device in response to detecting contact with a slide input.10. The method of claim 8, wherein the receiving the gesture inputcomprises receiving a selection of a numeral displayed on a radial dial.11. The method of claim 8, wherein the determining the third numericalvalue comprises applying a preselected mathematical formula to the firstnumerical value and the preset second numerical value.
 12. The method ofclaim 11, wherein the determining the third numerical value comprises:determining, based on the first numerical value and the preset secondnumerical value, a fourth numerical value; and dividing the fourthnumerical value by a preset fifth numerical value, wherein the thirdnumerical value comprises a remainder of the dividing.
 13. The method ofclaim 8, wherein the first numerical value comprises one or more digitsof: a quantity of new emails, a quantity of unread emails, a quantity ofnew text messages, a current stock price, a time of a meeting, aquantity of steps walked in a given day, a score of a sporting event, abattery power, a sunrise time, a sunset time, a current date, or anumeric value associated with a current day.
 14. A computing devicecomprising: one or more processors; and memory storing instructionsthat, when executed by the one or more processors of the computingdevice, cause the computing device to: identify a first numerical valuedisplayed on a display of the computing device; generate, based on thefirst numerical value, an input portion of a user interface configuredin a locked state; determine, based on the first numerical value, asecond numerical value; and in response to receiving, via the inputportion, a gesture input corresponding to the second numerical value,transition the user interface from the locked state to an unlockedstate.
 15. The computing device of claim 14, wherein the instructions,when executed by the one or more processors of the computing device,cause the computing device to receive the gesture input by receiving aslide input, a tap input, a rotational input, a typing input, a touchinput, a click input, an audible input, a drag input, an optical input,or any combination thereof.
 16. The computing device of claim 14,wherein the instructions, when executed by the one or more processors ofthe computing device, cause the computing device to: display a pluralityof slide inputs; and receive the gesture input by receiving a selectionof a slide input of the plurality of slide inputs.
 17. The computingdevice of claim 14, wherein the instructions, when executed by the oneor more processors of the computing device, cause the computing deviceto determine the second numerical value based at least in part on adigit in the first numerical value.
 18. The computing device of claim14, wherein the first numerical value comprises one or more digits of: aquantity of new emails, a quantity of unread emails, a quantity of newtext messages, a current stock price, a time of a meeting, a quantity ofsteps walked in a given day, a score of a sporting event, a batterypower, a sunrise time, a sunset time, a current date, or a numeric valueassociated with a current day.
 19. The computing device of claim 18,wherein the first numerical value is displayed on the display of thecomputing device via a third-party application.
 20. The computing deviceof claim 18, wherein the instructions, when executed by the one or moreprocessors, cause the computing device to: receive one or moreparameters, via a user input; and determine, based on the one or moreparameters, the one or more digits.